﻿/*
 * Created by SharpDevelop.
 * User: CeCi
 * Date: 11/04/2014
 * Time: 07:07 p.m.
 * 
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 */
using System;
using System.Data;
using System.Collections.Generic;

namespace Gestión_UTN.blimpl
{
	/// <summary>
	/// Description of telefonoProfesorblimpl.
	/// </summary>
	public class telefonoProfesorblimpl:bl.telefonoProfesorbl
	{
		private static da.telefonoProfesorda createTelPro = factories.dafactory.createTelPro();
		
		public telefonoProfesorblimpl()
		{
		}
		
		public bool SaveTelefonoProfesor(int pro_dni, int numero)
		{
			bool ingresado = false;
			
			try 
			{
				ingresado = (0 != pro_dni && 0 != numero)
					? createTelPro.SaveTelefonoProfesor(pro_dni,numero)
					: false;
			} 
			catch (Exception) 
			{
				ingresado = false;
			}
			
			return ingresado;
		}
		
		public bool DeleteTelefonoProfesor(int pro_dni, int numero)
		{
			bool eliminado = false;
			
			try 
			{
				eliminado = (0 != pro_dni && 0 != numero)
					? createTelPro.DeleteTelefonoProfesor(pro_dni,numero)
					: false;
			} 
			catch (Exception) 
			{
				eliminado = false;
			}
			
			return eliminado;
		}
		
		public bool ModifyTelefonoProfesor(int pro_dni_anterior, int numero_anterior, int pro_dni, int numero)
		{
			bool modificado = false;
			
			try 
			{
				modificado = (0 != pro_dni_anterior && 0 != numero_anterior && 0 != pro_dni && 0 != numero)
					? createTelPro.ModifyTelefonoProfesor(pro_dni_anterior,numero_anterior,
					                                      pro_dni,numero)
					: false;
			} 
			catch (Exception) 
			{
				modificado = false;
			}
			
			return modificado;
		}
		
		public System.Data.DataTable FindAllTelefonoProfesores()
		{
			DataTable tablaTelPro = null;
			
			try 
			{
				tablaTelPro = createTelPro.FindAllTelefonoProfesores();
			} 
			catch (Exception) 
			{
				tablaTelPro = null;
			}
			
			return tablaTelPro;
		}
		
		public Gestión_UTN.bo.TelefonoProfesorbo FindTelefonoByDni(int pro_dni)
		{
			bo.TelefonoProfesorbo telPro = null;
			
			try 
			{
				List<Entities.TelefonoProfesor> tels = (0 != pro_dni) ? createTelPro.FindTelefonoByDni(pro_dni) : null;
				
				if (null != tels) 
				{
					List<int> numeros = new List<int>();
					
					foreach (var t in tels) 
					{
						numeros.Add(t.Telefono);
					}
					
					telPro = new bo.TelefonoProfesorbo(pro_dni,numeros);
				}
			}
			catch (Exception) 
			{
				telPro = null;
			}
			
			return telPro;
		}
	}
}
